This invention relates to magnetic bubble memories; and in particular, it relates to architectures for such memories that reduce both the space which they occupy and the speed at which they are read.
In the prior art, a dilemma existed in that a bubble memory that had a relatively fast access time required a relatively large amount of space; and conversely, a bubble memory that occupied only a relatively small amount of space had a relatively slow access time. This is evident by inspection of the bubble memory architectures of FIGS. 1 and 2.
Included in the FIG. 1 memory is a substrate 10, a set of storage loops 11 on the left side of substrate 10; and another set of storage loops 12 on the right side of substrate 10. Bubbles representing the even-numbered bits of a serial data stream are generated by a generator 13. Those bubbles are written into the storage loops 11 by means of a serial-parallel input mechanism 14 on the left side of substrate 10 which moves the bubbles from right to left along a serial path so that they line up with the loops 11.
Similarly, bubbles representing the odd-numbered bits of the above-mentioned serial data stream are generated by a generator 15. Those bubbles are written into the storage loops 12 by another serial-parallel input mechanism 16 on the right side of substrate 10 which also moves bubbles from right to left along a serial path so they align with the inputs to the loops 12.
Bubbles are read from the storage loops 11 by means of an output mechanism 17. It includes a parallel-serial path on the left side of substrate 10 along which bubbles move from right to left into a detector 18. At the same time, bubbles are read from storage loops 12 by means of an output mechanism 19. It includes a parallel-serial path on the right side of substrate 10 along which bubbles move from right to left into detector 18.
In the FIG. 1 memory, those portions of the output mechanisms 17 and 19 which lie between detector 18 and the closest storage loops are made as short as possible. This is highly desirable since it minimizes the time which is required to read bubbles from the storage loops. But since such portion of mechanism 17 is so short, bubbles from mechanism 17 are forced to enter detector 18 at its left end.
Those bubbles which are received in detector 18 are first stretched all the way from the left end of the detector to the right end. Typically, this stretching operation is achieved by multiple rows of symmetric chevrons in detector 18, with each row extending all the way across the detector. Only after the bubbles are stretched in size can they be detected.
Since bubbles from output mechanism 17 enter detector 18 at the left end, those bubbles are stretched only towards the right. Thus, the total number of stretching elements in detector 18 must be increased over that which would be required if the bubbles were able to stretch in both directions; and that makes the memory relatively large.
In the FIG. 2 memory, components 10-16 are the same as described above; but modified output mechanisms 17' and 19' are provided which route the bubbles from storage loops 11 and 12 to a modified detector 18' at its center. Thus the bubbles from output mechanisms 17' and 19' can stretch in both the left and right directions; and so the number of stretching elements required in detector 18' is substantially less than those in detector 18.
However, routing the bubbles from the storage loops 11 to the center of detector 18' increases the length of the serial path in output mechanism 17'. This in turn increases the length of the serial path in output mechanism 19' since it must be the same length as detector 17' if the even and odd bubbles in storage loops 11 and 12 are to reach detector 18' in synchronization. Consequently, the time required to read bubbles from the storage loops 10 and 12 is relatively long.